;(async function () {
  const express = require('express')
  // 连接数据库,连接成功,再去开启服务器
  // 当前的connect就是连接数据库的promise
  const connect = require('./db/connect')
  // 引入model对象
  const adminModel = require('./db/model')
  //如果连接数据库成功了,才会执行await connect后面的代码
  await connect
  console.log('数据库连接成功')
  const app = express()
  // 处理上传的post请求的url编码的数据
  app.use(express.urlencoded({ extended: false }))

  // 添加管理员的接口
  app.post('/addAdmin', async (req, res) => {
    // 往admins这个集合中插入一条管理员数据
    //1. 接收传递过来的用户名和密码
    const { username, password } = req.body
    // 2. 往数据库中插入数据
    await adminModel.create({ username, password, token: 'test' })
    res.send('管理员添加成功')
  })

  // 查找管理员数据并相应给浏览器的接口
  app.get('/findAdmins', async (req, res) => {
    const admins = await adminModel.find()
    // res.send()如果里面写的是数组或对象,会自动转成json字符串
    res.send(admins)
  })

  app.listen(5001, (err) => {
    if (err) console.log('服务器启动失败')
    else console.log('服务器启动成功')
  })
})()
